﻿using System.Collections.Generic;
using System;

namespace Lincolnwood.Foundation.Common.Data
{
    public interface IReadWriteRepository<TAggregateRoot, TKey> : IReadableRepository<TAggregateRoot, TKey>
        where TAggregateRoot : EntityBase<TKey>
        where TKey : struct
    {
        TAggregateRoot Add(TAggregateRoot entity);

        void RemoveById(TKey id);

        void Merge(TAggregateRoot entity);
        
    }
}